#include <binder/IInterface.h>
#include <binder/Parcel.h>
#include <utils/String16.h>
#include <utils/RefBase.h>
#include <utils/Mutex.h>

namespace android {

class ITestNativeService : public IInterface {
public:
    enum {
        TRANSACTION_verify = IBinder::FIRST_CALL_TRANSACTION
    };

public:
    DECLARE_META_INTERFACE(TestNativeService);

    virtual int verify() = 0;
};

// ----------------------------------------------------------------------------

class BnTestNativeService : public BnInterface<ITestNativeService>
{
public:
    virtual status_t    onTransact( uint32_t code,
                                    const Parcel& data,
                                    Parcel *reply,
                                    uint32_t flags = 0);
private:
    // protected by mLock
    mutable Mutex mLock;

};

}; // namespace android

